原始类型和引用类型
一.原始类型(基本数据类型)
Ⅰ.说明:
1.基本数据类型的变量直接保存原始值(而不是一个指向对象的指针)。
2.鉴别原始数据类型的最佳方法是:typeof操作符。
3.原始类型具有原始方法(除null和undefined外),如:1
2
3
4
5
6
7
8
9
10
11var name = 'Cooling';
var lowercaseName = name.toLowerCase();//全部转换成小写字母
var firstLetter = name.charAt(0);//获得第一个字母C
var middleOfName = name.substring(2,5);//活动字母2-4
var count = 10;
var fixedCount = count.toFixed(2);//10.00
var hexCount = count.toString(16);//a
var flag = true;
var stringFlag = flag.toString();//"true"(字符串形式)
Ⅱ.undefined:
也只有一个值:undefined。
对尚未定义的变量,以及尚未声明的变量使用typeof,结果都是undefined。
但是注意:1
2
3var message;
alert(message);//undefinde
alert(age);//错误
对尚未声明的变量,只能进行一项操作,即typeof操作符检测其数据类型。(注意:虽然说对尚未声明的变量,还可以使用delete不会出现错误,但是这样做没有意义。同时,在严格模式下,这样做真的会导致错误。)
Ⅲ.null:
空类型,该原始类型只有一个值:null。
逻辑上null表示一个空对象的指针,使用typeof检测会返回object。
undefined的值实际上是派生自null的值的。
如:1
alert(null == undefined);//true
对于null和undefined直接的差异:无论在什么情况下,都没有必要把一个变量的值显示的设置为undefined;但是对于null只要意在保存对象的变量还没有真正保存对象,就应该明确的让该变量保存null值(也就是说:声明空对象的时候应该将其赋值为null)。
Ⅳ.string
1.特性:
①使用.length访问字符串的长度
②字符串一旦创建,他们的值就不能改变。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新字符串填充该变量。如:1
2var lang = "Java";
lang = lang + "Script";
其先是创建了一个能够容纳10个字符的新字符串,然后在字符串中填充Java和Script,最后一步是销毁原来的Java和字符串Script。
2.类型转换:
①toString()
②String()
③eval()
Ⅴ.boolean
1.特性:
①true不一定为1,false也不一定为0;
②使用Boolean()进行转换,值为true的有:任何非空字符、任何非0数值、任何非空对象。
③使用Boolean()进行转换,值为false的有:空字符串、0、NaN、null、undefined。
Ⅵ.number
1.NaN检测:
通过isNaN()检测。
2.数值转换
①Number()
②parseInt()
③parseFloat()
##二.引用类型(object)